package com.xian.d1_set;

import java.util.HashSet;
import java.util.Set;

/**
 * 需求:
 * 创建一个存储学生对象的集合，存储多个学生对象，使用程序实现在控制台遍历该集合
 * 要求:
 * 学生对象的成员变量值相同，我们就认为是同一个对象
 * 分析:
 * ①定义学生类，创建HashSet集合对象,创建学生对象
 * ②把学生添加到集合
 * ③在学生类中重写两个方法，hashcode()和equals()，自动生成即可
 * ④遍历集合(增强for)
 */
public class SetDemo3 {
    public static void main(String[] args) {
        //目标: 让Set集合把重复内容的对象去掉一个（去重复)

        //set集合去重复原因:先判断哈希值再判断equals
        Set<Student> sets = new HashSet<>();

        Student s1 = new Student("一号", 18, '男');
        Student s2 = new Student("一号", 18, '男');
//        Student s2 = new Student("二号", 23, '女');
        Student s3 = new Student("三号", 20, '男');

        System.out.println(s1.hashCode());
        System.out.println(s2.hashCode());
        System.out.println(s3.hashCode());

        sets.add(s1);
        sets.add(s2);
        sets.add(s3);

        System.out.println(sets);

    }
}
